package cn.com.dycc.sys_manage.rolesysmanagement.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import cn.com.dycc.sys_manage.rolesysmanagement.entity.RoleUser;
import cn.com.dycc.sys_manage.usersysmanagement.entity.UserInfoAccount;




/**
 * 用户授权持久层
 * Description: 
 * Author: linfangan
 * Version: 1.0
 * Create Date Time: 2017年8月14日 上午10:30:25.
 * Update Date Time: 
 * @see
 */
@Repository("roleUserDao")
public interface RoleUserDao {
	
	/**
	 * 根据用户id查找用户角色id
	 * @param userId 用户登陆id
	 * @return 用户角色id
	 */
	public List<String> findRoleNoByUserId(String userId);
	
	/**
	 * 给用户授权角色
	 * @param roleUser 授权信息
	 * @return 成功返回1
	 */
	public int addRoleUser(RoleUser roleUser);
	
	/**
	 * 根据user_id删除授权
	 * @param userId
	 * @return
	 */
	public int deleteRoleUserByUserId(String userId);
	
	/**
	 * updateUserIdByUserId
	 * @param id 要更新的值
	 * @param userId 被更新的值
	 * @return
	 */
	public int updateUserIdByUserId(@Param("id")int id,@Param("user_id")int userId);
	
	/**
	 * 根据role_no删除role_user
	 * @param role_no
	 * @return
	 */
	public int deleteRoleUserByRoleNo(String role_no);
	
	
	//测试登录
	//List<Integer> findRoleUserByUserId(Integer user_id);
	//测试登录
	List<Integer> findRoleNoByUserIdAndChild(Integer user_id);
	
	/**
	 * 根据角色id查询已授权用户id
	 * @param role_no
	 * @return
	 */
	public List<String> findUserIdByRoleNo(String role_no);
	
	/**
	 * 点击增加权限，查询用户列表，给用户增加权限
	 * @param map
	 * @return
	 */
	public int addListRoleUser(Map<String,Object> map);
	
	/**
	 * 根据role_no和user_id一起t_role_user是否存在
	 * @param role_no
	 * @param user_id
	 * @return
	 */
	public int findcountByRoleNoAndUserId(
			@Param("role_no")String role_no,
			@Param("user_id")String user_id);
	
	/**
	 * 根据角色id查询已授权用户的信息
	 * @param role_no
	 * @return
	 */
	public List<UserInfoAccount> findUserInfoByRoleNo(String role_no);
	
	
	
	
}
